//package com.fy.proj3_deepseek_api.util;
//
//import org.springframework.web.multipart.MultipartFile;
//
//import java.io.IOException;
//import java.nio.charset.StandardCharsets;
//
//public class FileUtil {
//
//    /**
//     * 读取Markdown文件内容
//     * @param file 上传的Markdown文件
//     * @return 文件内容字符串
//     * @throws IOException 当文件读取失败时抛出
//     */
//    public static String readMarkdownFile(MultipartFile file) throws IOException {
//        return new String(file.getBytes(), StandardCharsets.UTF_8);
//    }
////- 作用 ：读取Markdown文件内容并转换为字符串
////- 参数 ： MultipartFile - Spring文件上传对象
////- 返回值 ：文件内容的UTF-8编码字符串
////- 异常 ：抛出 IOException 表示文件读取失败
//    /**
//     * 检查文件是否为Markdown格式
//     * @param file 要检查的文件
//     * @return 如果是Markdown文件返回true，否则返回false
//     */
//    public static boolean isMarkdownFile(MultipartFile file) {
//        if (file == null || file.isEmpty()) {
//            return false;
//        }
//
////        - MIME类型检查 ：基于HTTP Content-Type头，更可靠但可能不准确
////                - 文件扩展名检查 ：基于文件名，更直观但可能被篡改
//        // 检查文件类型
//        String contentType = file.getContentType();
//        if (contentType != null && contentType.equals("text/markdown")) {
//            return true;
//        }
//
//        // 检查文件扩展名
//        String originalFilename = file.getOriginalFilename();
//        return originalFilename != null && originalFilename.toLowerCase().endsWith(".md");
//    }
//
//    /**
//     * 生成安全的文件名（去除特殊字符）
//     * @param originalFilename 原始文件名
//     * @return 安全的文件名
//     */
//    public static String generateSafeFilename(String originalFilename) {
//        if (originalFilename == null) {
//            return "file";
//        }
//        // 去除文件名中的特殊字符，只保留字母、数字、点、下划线和连字符
//        return originalFilename.replaceAll("[^a-zA-Z0-9._-]", "");
//    }
//}